#ifndef VIDEOTHREAD_H
#define VIDEOTHREAD_H

#include <QThread>
#include <QDebug>
#include <QImage>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

class VideoThread : public QThread
{
    Q_OBJECT
public:
    explicit VideoThread(cv::VideoCapture camera, QObject *parent = 0);
    void run();

signals:
    void ImageUpdate(QImage newImage);

public slots:
    void addProcessedVideo(QString processingType);

private:
    int videoThreadID;
    //Video Processing
    QList<int>* videoThreadIDs;
    cv::VideoCapture cvCamera;
    cv::Mat* matOriginal;
    cv::Mat* matProcessed;
    QImage* qimgOriginal;
    QImage* qimgProcessed;


};

#endif // VIDEOTHREAD_H
